Rate control is an important issue in both wired and wireless streaming applications. A widely popular rate control scheme over wired networks is equation based rate control, also known as TCP Friendly Rate Control (TFRC). There are basically three advantages for rate control using TFRC: First, TFRC does not cause network instability, thus avoiding congestion collapse. Second, TFRC is fair to TCP (Transmission Control Protocol) flows, which is currently the dominant source of traffic on the Internet. Third, the rate fluctuation of TFRC is lower than TCP, making TFRC more appropriate for streaming applications that require constant video quality. For streaming over wireless channels where packets can be corrupted by wireless channel errors at the physical layer, rate control is a challenging problem.
Neither TFRC nor TCP are designed to distinguish between packet loss due to buffer overflow—i.e., network congestion—and packet loss due to bit errors, namely, errors in the physical transmission of data. Transmission at the physical layer in wired channels is much more reliable than transmission at the physical layer in wireless channels. Obstacles, signal interference, and other environmental factors more readily affect wireless channels than wired channels. Both TCP and TFRC have been designed to deal with buffer overflow in wired networks and, accordingly, assume that any packet loss is due to congestion rather than failure at the physical layer. Packet loss due to congestion suggests that transmission data rate should be reduced to avoid such congestion. To avoid network collapse due to congestion, TCP aggressively reduces data rate in response to packet loss. However, packet loss can occur in wireless channels that are not congested due to network errors. Reducing transmission data rates in such circumstances can result in under-utilization of the available bandwidth and therefore to artificially low data rates and unnecessarily poor performance. This is especially true in protocols which respond rather aggressively to packet loss, as does TCP, when used in networks with fairly common packet loss due to network errors at the physical layer.
There have been a number of efforts to improve the performance of TCP over wireless channels. Such methods either hide end-hosts from packet loss caused by wireless channel error, or provide end-hosts the ability to distinguish between packet loss caused by congestion and that caused by wireless channel error. The disadvantages of these schemes are that they require modifications to network infrastructure or protocols. Modifications to network infrastructure require wide-spread adoption and implementation in the vast number of nodes of the Internet, i.e., computers participating in the routing of information through the Internet. Modifications to end-to-end protocols, such as TCP, requires modification of the operating systems of end host computer, a similarly arduous task.
In addition to attempts to improve performance of TCP over wireless channels, attempted solutions for improving rate control for streaming data over wireless channels include hiding packet loss caused by wireless channel error from end-hosts or providing end-hosts with the ability to distinguish between packet loss caused by congestion and packet loss due to wireless channel error.
In one end-to-end based approach to facilitate streaming over wireless, packet inter-arrival times and relative one way delay are combined to differentiate between packet loss caused by congestion and that due to wireless channel errors. There are two key observations behind this approach. First, relative one way delay increases monotonically if there is congestion. Second, inter-arrival time is expected to increase if there is packet loss caused by wireless channel errors. Therefore, examining these two statistics can help differentiate between congestion and wireless errors. However, high wireless error misclassification rates may result in under-utilizing the wireless bandwidth. In addition, this approach requires modifications to congestion control mechanism in protocol, again requiring modification to the vast number of nodes which route data through the Internet.
What is needed is an end-to-end approach that does not require any modifications to network infrastructure and protocols, except at the application layer. Changes to the application layer are relatively easy, often requiring no more than the downloading and installation of new client software, such as a modified streaming server or a modified streaming video player, without any modification to the underlying operating system or any of the intermediate nodes through which the streaming video signal might travel. The approach should ensure full utilization of bandwidth through wireless channels despite packet loss due to physical errors in the wireless channels.